﻿namespace = acw_events

# The Abolitionist's Martyrdom
# based off the death of Elijah P. Lovejoy
acw_events.1 = {
	type = country_event
	
	event_image = {
		video = "gfx/event_pictures/southamerica_public_figure_assassination.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/southamerica/public_figure_assassination"

	icon = "gfx/interface/icons/event_icons/event_newspaper.dds"

	title = acw_events.1.t
	desc = acw_events.1.d
	flavor = acw_events.1.f

	duration = 3

	trigger = {
		exists = c:USA
		c:USA = ROOT
		NOT = { has_law = law_type:law_slavery_banned }
		NOT = { has_variable = abolitionist_martydom }
		any_interest_group = {
			OR = { 
				is_interest_group_type = ig_intelligentsia 
				is_interest_group_type = ig_trade_unions
				is_interest_group_type = ig_devout
			}	
        	is_marginal = no
        	leader = {
    			NOR = {
    				has_ideology = ideology_abolitionist
    				has_ideology = ideology_slaver
    			}	
        	}
		}
		any_interest_group = {
			NOR = { 
				is_interest_group_type = ig_intelligentsia 
				is_interest_group_type = ig_trade_unions
			}
    		is_marginal = no
    		leader = {
    			NOR = {
    				has_ideology = ideology_abolitionist
    				has_ideology = ideology_slaver
    			}
    		}
		}
	}

	immediate = {
		set_variable = {
			name = abolitionist_martydom
			value = yes
		}
	}

	option = {
		name = acw_events.1.a
        default_option = yes
        random_interest_group = {
        	limit = {
				OR = { 
					is_interest_group_type = ig_intelligentsia 
					is_interest_group_type = ig_trade_unions
					is_interest_group_type = ig_devout
				}
        		is_marginal = no
        		leader = {
        			NOR = {
        				has_ideology = ideology_abolitionist
        				has_ideology = ideology_slaver
        			}
        		}
        	}
        	leader = {
        		set_ideology = ideology_abolitionist
        	}
        }
	}

	option = {
		name = acw_events.1.b
        random_interest_group = {
        	limit = {
				NOR = { 
					is_interest_group_type = ig_intelligentsia 
					is_interest_group_type = ig_trade_unions
				}
        		is_marginal = no
        		leader = {
        			NOR = {
        				has_ideology = ideology_abolitionist
        				has_ideology = ideology_slaver
        			}
        		}
        	}
        	leader = {
        		set_ideology = ideology_slaver
        	}
        }
	}
}

# The Fugitive Slave
acw_events.2 = {
	type = country_event

	event_image = {
		video = "gfx/event_pictures/southamerica_slaves_night.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/southamerica/slaves_night"

	icon = "gfx/interface/icons/event_icons/event_scales.dds"

	title = acw_events.2.t
	desc = acw_events.2.d
	flavor = acw_events.2.f

	duration = 3

	trigger = {
		NOT = { has_law = law_type:law_slavery_banned }
		NOT = { has_variable = american_civil_war }
		any_interest_group = {
			is_revolutionary = no
			is_insurrectionary = no
			is_marginal = no
			OR = {
				has_ideology = ideology_pro_slavery
				leader = {
					has_ideology = ideology_slaver
				}
			}
		}
		NOT = { has_variable = fugitive_slave_var }
	}

	immediate = {
		random_interest_group = {
			limit = {
				is_revolutionary = no
				is_insurrectionary = no
				is_marginal = no
				OR = {
					has_ideology = ideology_pro_slavery
					leader = {
						has_ideology = ideology_slaver
					}
				}
			}
			save_scope_as = slaver_ig
			leader = {
				save_scope_as = slaver_ig_leader
			}
		}
		set_variable = {
			name = fugitive_slave_var
			months = short_modifier_time
		}
	}

	cancellation_trigger = {
		has_global_variable = american_civil_war
	}

	option = {
		name = acw_events.2.a
        default_option = yes

		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_pro_slavery
					leader = { has_ideology = ideology_slaver }
				}
			}
			add_modifier = {
				name = ig_slavers_happy
				months = short_modifier_time
			}
		}
		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_anti_slavery
					leader = { has_ideology = ideology_abolitionist }
				}
			}
			add_modifier = {
				name = ig_abolitionists_mad
				months = short_modifier_time
			}
		}
	}
	option = {
		name = acw_events.2.b

		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_pro_slavery
					leader = { has_ideology = ideology_slaver }
				}
				NOT = { has_modifier = ig_slavers_mad }
			}
			add_modifier = {
				name = ig_slavers_mad
				months = short_modifier_time
			}
		}
		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_anti_slavery
					leader = { has_ideology = ideology_abolitionist }
				}
				NOT = { has_modifier = ig_abolitionists_happy }
			}
			add_modifier = {
				name = ig_abolitionists_happy
				months = short_modifier_time
			}
		}
	}
}

# The [Leader Name] Proviso - a.k.a. The (Dynamic) Wilmot Proviso
acw_events.3 = {
	type = country_event

	title = acw_events.3.t
	desc = acw_events.3.d
	flavor = acw_events.3.f

	event_image = {
		video = "gfx/event_pictures/europenorthamerica_capitalists_meeting.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/europenorthamerica/capitalists_meeting"

	icon = "gfx/interface/icons/event_icons/event_map.dds"

	duration = 3

	trigger = {
		exists = c:USA
		c:USA = ROOT
		NOT = { has_law = law_type:law_slavery_banned }
		NOT = { has_variable = american_civil_war }
		NOT = { has_variable = USA_wilmot_proviso }
		exists = c:MEX
		any_state = {
			has_claim_by = c:MEX
		}
		any_interest_group = {
			is_revolutionary = no
			is_insurrectionary = no
			is_marginal = no
			OR = {
				has_ideology = ideology_anti_slavery
				leader = {
					has_ideology = ideology_abolitionist
				}
			}
		}
	}

	immediate = {
		set_variable = {
			name = USA_wilmot_proviso
			value = yes
		}
		random_interest_group = {
			limit = {
				is_revolutionary = no
				is_insurrectionary = no
				is_marginal = no
				OR = {
					has_ideology = ideology_anti_slavery
					leader = {
						has_ideology = ideology_abolitionist
					}
				}
			}
			save_scope_as = wilmot_proviso_ig
			leader = {
				save_scope_as = wilmot_proviso_ig_leader
			}
		}
	}

	cancellation_trigger = {
		has_global_variable = american_civil_war
	}

	option = {
		name = acw_events.3.a # a compromise is when nobody is happy at the end
		default_option = yes

		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_pro_slavery
					leader = { has_ideology = ideology_slaver }
				}
				NOT = { has_modifier = disappointing_compromise }
			}
			add_modifier = {
				name = disappointing_compromise
				months = short_modifier_time
			}
		}
		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_anti_slavery
					leader = { has_ideology = ideology_abolitionist }
				}
				NOT = { has_modifier = disappointing_compromise }
			}
			add_modifier = {
				name = disappointing_compromise
				months = short_modifier_time
			}
		}
	}
	option = { # Abolish slavery in all the new territories
		name = acw_events.3.b

		every_scope_state = {
			limit = {
				has_claim_by = c:MEX
			}
			liberate_slaves = yes # this is going to be rough for freed pops initially, and that's to be expected.
		}
		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_pro_slavery
					leader = { has_ideology = ideology_slaver }
				}
				NOT = { has_modifier = ig_slavers_mad }
			}
			add_modifier = {
				name = ig_slavers_mad
				months = short_modifier_time
			}
		}
		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_anti_slavery
					leader = { has_ideology = ideology_abolitionist }
				}
				NOT = { has_modifier = ig_abolitionists_happy }
			}
			add_modifier = {
				name = ig_abolitionists_happy
				months = short_modifier_time
			}
		}

	}
	option = { # Enable slavery in all the new territories
		name = acw_events.3.c

		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_pro_slavery
					leader = { has_ideology = ideology_slaver }
				}
				NOT = { has_modifier = ig_slavers_happy }
			}
			add_modifier = {
				name = ig_slavers_happy
				months = short_modifier_time
			}
		}
		every_interest_group = {
			limit = {
				OR = {
					has_ideology = ideology_anti_slavery
					leader = { has_ideology = ideology_abolitionist }
				}
				NOT = { has_modifier = ig_abolitionists_mad }
			}
			add_modifier = {
				name = ig_abolitionists_mad
				months = short_modifier_time
			}
		}
	}
}

# Bleeding [State], a.k.a. Dynamic Bleeding Kansas
acw_events.5 = {
	type = country_event

	title = acw_events.5.t
	desc = acw_events.5.d
	flavor = acw_events.5.f
	placement = scope:bleeding_kansas

	event_image = {
		video = "gfx/event_pictures/europenorthamerica_american_civil_war.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/europenorthamerica/american_civil_war"

	icon = "gfx/interface/icons/event_icons/event_fire.dds"

	duration = 3

	trigger = {
		exists = c:USA
		c:USA = ROOT
		NOT = { has_law = law_type:law_slavery_banned }
		NOT = { has_variable = bleeding_kansas_happened }
		any_scope_state = {
			is_slave_state = no
			is_being_incorporated = yes
			any_neighbouring_state = {
				owner = ROOT
				is_slave_state = yes
			}
		}
	}

	immediate = {
		set_variable = {
			name = bleeding_kansas_happened
			value = yes
		}
		random_scope_state = {
			limit = {
				is_slave_state = no
				is_being_incorporated = yes
				any_neighbouring_state = {
					owner = ROOT
					is_slave_state = yes
				}
			}
			save_scope_as = bleeding_kansas
		}
	}

	cancellation_trigger = {
		has_global_variable = american_civil_war
	}

	option = {
		name = acw_events.5.a
		default_option = yes
		hidden_effect = {
			scope:bleeding_kansas = {
				liberate_slaves = yes
			}
		}

		custom_tooltip = acw_events_5_free_state_tt
	}
	option = {
		name = acw_events.5.b

		hidden_effect = {
			scope:bleeding_kansas = {
				create_pop = {
					pop_type = slaves
					culture = afro_american
					size = 1000			
				}
			}
		}

		custom_tooltip = acw_events_5_slave_state_tt
	}
}

acw_events.6 = {
	type = country_event

	title = acw_events.6.t
	desc = acw_events.6.d
	flavor = acw_events.6.f
	duration = 3

	event_image = {
		video = "gfx/event_pictures/europenorthamerica_american_civil_war.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/europenorthamerica/american_civil_war"

	icon = "gfx/interface/icons/event_icons/event_newspaper.dds"

	left_icon = scope:preston_brooks_leader
	right_icon = scope:charles_sumner_leader

	trigger = {
		exists = c:USA
		c:USA = ROOT
		NOT = { has_law = law_type:law_slavery_banned }
		NOT = { has_variable = slave_power_speech }
		any_interest_group = {
			is_revolutionary = no
			is_insurrectionary = no
			is_marginal = no
			OR = {
				has_ideology = ideology_pro_slavery
				leader = {
					has_ideology = ideology_slaver
				}
			}
		}
		any_interest_group = {
			is_revolutionary = no
			is_insurrectionary = no
			is_marginal = no
			OR = {
				has_ideology = ideology_anti_slavery
				leader = {
					has_ideology = ideology_abolitionist
				}
			}
		}
	}

	immediate = {
		set_variable = {
			name = slave_power_speech
			value = yes
		}

		random_interest_group = {
			limit = {
				is_revolutionary = no
				is_insurrectionary = no
				is_marginal = no
				OR = {
					has_ideology = ideology_pro_slavery
					leader = {
						has_ideology = ideology_slaver
					}
				}
			}
			save_scope_as = preston_brooks_ig
			leader = {
				save_scope_as = preston_brooks_leader
			}
		}
		random_interest_group = {
			limit = {
				is_revolutionary = no
				is_insurrectionary = no
				is_marginal = no
				OR = {
					has_ideology = ideology_anti_slavery
					leader = {
						has_ideology = ideology_abolitionist
					}
				}
			}
			save_scope_as = charles_sumner_ig
			leader = {
				save_scope_as = charles_sumner_leader
			}
		}
	}

	cancellation_trigger = {
		NOR = {
			exists = scope:preston_brooks_leader
			exists = scope:charles_sumner_leader
			has_global_variable = american_civil_war
		}
	}

	option = {
		name = acw_events.6.a
		custom_tooltip = acw_events.6.a.tt

		default_option = yes

		hidden_effect = {
			scope:charles_sumner_leader = {
				kill_character = yes
			}
		}
	}
	option = {
		name = acw_events.6.b
		custom_tooltip = acw_events.6.a.tt
		custom_tooltip = acw_events.6.b.tt


		hidden_effect = {
			scope:charles_sumner_leader = {
				kill_character = yes
			}
			scope:preston_brooks_leader = {
				kill_character = yes
			}
		}
	}
}

acw_events.7 = { # Free State of [x]
	type = country_event

	title = acw_events.7.t
	desc = acw_events.7.d
	flavor = acw_events.7.f

	event_image = {
		video = "gfx/event_pictures/europenorthamerica_american_civil_war.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/europenorthamerica/before_the_battle"

	icon = "gfx/interface/icons/event_icons/event_map.dds"

	duration = 3

	trigger = {
		exists = c:USA
		c:USA = {
			has_journal_entry = je_acw_war
		}
		OR = {
			AND = {
				exists = c:CSA
				c:CSA = ROOT
			}
			AND = {
				exists = c:FSA
				c:FSA = ROOT
			}
		}
	}

	immediate = {
		random_scope_state = {
			save_scope_as = free_state_of_county
		}
		c:USA = {
			save_scope_as = unionist_usa
		}
	}

	option = {
		name = acw_events.7.a # A show of strength will bring them to heel.
		default_option = yes

		scope:free_state_of_county = {
			add_loyalists = {
				value = 0.1
			}
			state_region = {
				add_devastation = 5
			}
		}
	}

	option = {
		name = acw_events.7.b # We can't afford to move against them

		scope:free_state_of_county = {
			add_radicals = {
				value = 0.25
			}
		}
	}
}

# The Great Locomotive Chase
acw_events.8 = {
	type = country_event
	event_image = {
		video = "gfx/event_pictures/unspecific_trains.bk2"
	}

	on_created_soundeffect = "event:/SFX/UI/Alerts/event_appear"
	on_opened_soundeffect = "event:/SFX/Events/unspecific/trains"

	icon = "gfx/interface/icons/event_icons/event_newspaper.dds"

	title = acw_events.8.t
	desc = acw_events.8.d
	flavor = acw_events.8.f

	duration = 3

	trigger = {
		OR = {
			c:CSA = THIS
			c:USA = THIS
			c:FSA = THIS
		}
		any_scope_state = {
			has_building = building_railway
		}
	}

	immediate = {
		random_scope_state = {
			limit = { has_building = building_railway }
			save_scope_as = great_locomotive_chase_state
		}
	}

	option = { # Rebuild to mitigate the damage!
		name = acw_events.8.a
        default_option = yes

		scope:great_locomotive_chase_state = {
			state_region = {
				add_devastation = 5
			}
		}
	}

	option = { # Put soldiers on trains to protect them
		name = acw_events.8.b

		add_modifier = {
			name = protected_trains
			months = normal_modifier_time
		}
		scope:great_locomotive_chase_state = {
			state_region = {
				add_devastation = 10
			}
		}
	}

	option = { # You know what would have prevented this? A competent police force.
		name = acw_events.8.c
		trigger = {
			has_law = law_type:law_no_police
			OR = {
				is_enacting_law = law_type:law_local_police
				is_enacting_law = law_type:law_dedicated_police
				is_enacting_law = law_type:law_militarized_police
			}
		}
		add_enactment_modifier = {
			name = wartime_need_for_police
		}
		scope:great_locomotive_chase_state = {
			state_region = {
				add_devastation = 10
			}
		}
	}
}
